# Author:Li
# 装饰器：
# 1. 外层函数嵌套内层函数
# 2. 外层函数返回内层函数
# 3. 内层函数调用外层函数的参数
# 外层函数传入的参数为被装饰的函数
from django.http import HttpResponseRedirect
from django.urls import reverse


def is_login(func):
    # @wraps(func)
    def wrapper(request):
        # 登录状态校验
        # 如果登录状态校验成功，执行func
        # 如果没有登录校验成功，不执行func
        token = request.COOKIES.get("token")
        if not token:
            return HttpResponseRedirect(reverse("user:login"))
        if token != "1230":
            return HttpResponseRedirect(reverse("user:login"))

        return func(request)

    return wrapper
